In recent years, consumer products are starting to digitalize audio data and incorporate the data in a storage device in order for consumers to enjoy music. Furthermore, there is a demand for consumer products to incorporate not only audio data, but also highly expressive content such as High Definition (HD) video.
Digitalized audio data, HD video, etc. can be copied with no loss of quality. Therefore, in order to protect the interests of copyright holders, such content needs to be protected from illicit copying.
Such content is protected, therefore, by copyright protection technology such as CPRM (Content Protection Recoding Media) or AACS (Advanced Access Content System). These copyright protection technologies protect content by encrypting it, and for users to enjoy content, it is necessary to decrypt the data with a terminal supporting the copyright protection technology.
A terminal supporting the copyright protection technology is provided with a secure device such as an encryption engine that decrypts encrypted content. The secure device needs to be operated properly so that content is not decrypted via illicit processing.
Tampering detection is a form of technology for determining whether a program performing the secure device operation is authorized or not (for example, Patent Literature 1).
Patent Literature 1 is technology for detecting whether a program that handles data is authorized or not. This technology is briefly described with reference to FIG. 19, which shows a sequence in Patent Literature 1.
First, processing begins via operation by, for example, a user (S410).
Next, the program processes input data and outputs processed information (S411).
Next, a hash value (authentication code) is created using a hash function for the program (S412).
Next, the processed information and the hash value (authentication code) are transferred to a verification unit not shown in FIG. 19. If the hash values match, the verification unit determines that the program corresponding to the hash value is authorized (S413).
Processing then ends (S414).
Patent Literature 2, for example, is technology for appropriately processing data handled by a terminal device. This technology is briefly described with reference to FIGS. 20 and 21.
FIG. 20 is a software schematic diagram of Patent Literature 2.
The software in Patent Literature 2 is composed of a Virtual Machine Monitor (VMM) 400, universal OS 401, network compatible application 402, universal OS NIC proxy 403, real-time OS 404, real-time NIC proxy 405, real-time UDP/IP 406, and NIC driver 407.
The VMM 400 provides an OS virtualization function. The universal OS 401 and the real-time OS 404 are the operating system on which the hardware virtualized by the VMM 400 operates.
When performing network processing, the network compatible application 402 requests network processing of the universal OS NIC proxy 403. The universal OS NIC proxy 403 requests processing of the real-time NIC proxy 405. The real-time NIC proxy 405 requests processing of the real-time UDP/IP 406 406. The real-time UDP/IP 406 uses the NIC driver 407 to control a Network Interface Card (NIC) not shown in FIG. 20.
Also when performing network processing, the real-time UDP/IP 406 uses the NIC driver 407 to control an NIC.
FIG. 21 shows a sequence when receiving notification of arrival of packet data from the NIC.
A notification of arrival of packet data is transmitted via an interrupt signal or the like from the NIC, which has detected the arrival of packet data (S400).
Next, the NIC driver 407 receives data from the NIC and transmits packet data to the real-time UDP/IP 406 (S401).
The real-time UDP/IP 406 determines whether the number stored in the port area of the packet data is the port number that the software in the real-time OS uses. If the number is the port number that the software in the real-time OS uses, processing proceeds to S403. If the number is not the number that the software in the real-time OS uses, processing proceeds to S404 (S402).
In S403, the real-time UDP/IP 406 transmits the packet data to appropriate software in the real-time OS, and processing proceeds to S405 (S403).
In step S404, the real-time UDP/IP 406 transmits the packet data to the universal OS NIC proxy 403 via the real-time NIC proxy 405. The universal OS NIC proxy 403 transmits the packet data to the network compatible application 402 (S404).
Processing then ends (S405).    [Patent Literature 1] Japanese Patent Application Publication No. 2003-186561 (Page 8, FIG. 1, etc.).    [Patent Literature 2] Tokuhyo (published Japanese translation of PCT international publication for patent application) No. 2007-500381 (Page 17, FIG. 1, etc.).